package log;


/**
 * 
 * 日志调用类
 * 对slf4j进行了简单的封装
 * @author xiongg
 * @since JAF 1.0.0
 * @copyright 广州从兴电子开发有限公司-电子渠道业务部
 * @initialize <实例化方法>
 * @date 2011-5-19
 * @log <重大修改日志，格式：YYYY-MM-DD 修改人 修改内容>
 */
public class Log {

	/**
	 * 
	 * 获取Logger
	 * @param name 参数名，一般是编码或类名，但不要重复
	 * @return
	 * @example <调用范例>
	 */
	public static Logger get(String name) {
		return getLogFactory(Logtype.COMMON).getLogger(name);
	}

	/**
	 * 
	 * 获取Logger
	 * @param name 参数名，一般是编码或类名，但不要重复
	 * @return
	 * @example <调用范例>
	 */
	public static Logger get(Class<?> clazz) {
		return getLogFactory(Logtype.COMMON).getLogger(clazz.getName());
	}

	/**
	 * 获取Logger
	 * @param name 参数名，一般是编码或类名，但不要重复
	 * @param type 消息类型@see {@link com.jaf.foundation.log.Logtype com.gd10086.log.Logtype} 
	 * @deprecated 暂时没有用
	 * @return
	 */
	public static Logger get(String name, Logtype type) {
		return getLogFactory(type).getLogger(name);
	}

	private static ILogFactory getLogFactory(Logtype type) {
		return new Slf4jLogFactory(type);
	}

}
